home *** CD-ROM | disk | FTP | other *** search
/ PC Play 129 / pc play 129.iso / Demo / man2 / man2.exe / data / scripts / battleship_alien_scripts.lua < prev    next >
Encoding:
Text File  |  2006-08-31  |  5.0 KB  |  147 lines

  1.  
  2. function units_battleship_alien_setup()
  3.     units_setup_sea(8,true,true,ENET_EFFECT_GEOMETRY_BATTLESHIPALIENSHADOW)
  4. end
  5.  
  6. function units_battleship_alien_resetup()
  7.     units_setup_sea(8,true,false,ENET_EFFECT_GEOMETRY_BATTLESHIPALIENSHADOW)
  8. end
  9.  
  10. function units_battleship_alien_select()
  11.     units_select(17,3)
  12. end
  13.  
  14. function units_battleship_alien_unselect()
  15.     units_unselect()
  16. end
  17.  
  18. function units_battleship_alien_selectenemy()
  19.     uniGetExecutor():addSimpleEffect(ENET_EFFECT_SELECTEDGEOMETRY_ENEMY)
  20. end
  21.  
  22. function units_battleship_alien_damaged()
  23.     uniGetExecutor():applyDamage(uniGetLife())
  24. end
  25.  
  26. function units_battleship_alien_highlight()
  27.     uniGetExecutor():addEffectWithRadius(ENET_EFFECT_GEOMETRY_HIGHLIGHT,15)
  28. end
  29.  
  30. function units_battleship_alien_explode()
  31.     units_explode_water2()
  32. end
  33.  
  34. function units_battleship_alien_move()
  35.     local unit = uniGetExecutor()
  36.     local sound = unit:play3DSound("battleship_alien_move.wav",1)
  37.     local steps = unit:addSimpleEffect(ENET_EFFECT_EFFECTEMITTER_SHIP_WATERTRAY)
  38.     waitDeath(unit:addRotationEffect(ENET_EFFECT_ROTATE_UNIT,MATH_PI * 0.7))
  39.     waitDeath(unit:addMoveEffect(ENET_EFFECT_MOVE_LINEAR,80))
  40.     steps:suspendedDestroy(2.0)
  41.     sound:destroy()
  42.     unit:play3DSound("battleship_alien_stop.wav",0):destroy()
  43. end
  44.  
  45. function units_battleship_alien_fire()
  46.     local unit = uniGetExecutor()
  47.     local gt = {}
  48.     local i
  49.     local j
  50.     local fireSpot
  51.     uniSetLife(uniGetLife() / 6.0)
  52.     waitDeath(unit:addRotationEffect(ENET_EFFECT_ROTATE_UNITBOARDTOTARGET,MATH_PI * 0.7,uniGetTarget()))
  53.     unit:addAnimationToQueue(ENAT_PREPAREFORFIRE1,1)
  54.     unit:addAnimationToQueue(ENAT_FIREPOSITION1,MATH_INFINITY)
  55.     unit:addAnimationToQueue(ENAT_AFTERFIRE1,1)
  56.     local sound = unit:play3DSound("battleship_alien_gun_rotate.wav",0):destroy()
  57.     local gn = unit:getBone(ENBT_GUNNEST)
  58.     local guns = {}
  59.     for i = 0,1 do
  60.         guns[i] = gn:getBone(ENBT_GUN,i)
  61.         guns[i]:addRotationEffect(ENET_EFFECT_ROTATE_GUNTOTARGET_GRAVITYPARABOLA,MATH_PI / 3.0,uniGetTarget())
  62.     end
  63.     pause(1.5)
  64.     for i = 0,1 do
  65.         for j = 0,2 do
  66.             guns[i]:play3DSound("battleship_alien_fire.wav",0):destroy()
  67.             --guns[i]:getBone(ENBT_FIRE1,j):addBulletEffect(ENET_EFFECT_BULLET_PLAZMABALL):executeCommand(ENC_FIRE1)
  68.             guns[i]:getBone(ENBT_FIRE1,j):addSimpleEffect(ENET_EFFECT_PS_NEWPLAZMABALL_FLY):executeCommand(ENC_FIRE1)
  69.             pause(0.25)
  70.         end
  71.     end
  72.     pause(1.0)
  73.     for i = 0,1 do
  74.         guns[i]:addRotationEffect(ENET_EFFECT_ROTATE_GUNTOWERDEFAULT,MATH_PI / 3.0)
  75.     end
  76.     pause(1.0)
  77.     unit:setCurrentAnimationRepeatCount(0)
  78.     unit:addFireArrow()
  79. end
  80.  
  81. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_MOVE,"units_battleship_alien_move")
  82. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_FIRE1,"units_battleship_alien_fire")
  83. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_FIRE2,"units_battleship_alien_fire")
  84. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_SELECT,"units_battleship_alien_select")
  85. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_SELECTENEMY,"units_battleship_alien_selectenemy")
  86. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_UNSELECT,"units_battleship_alien_unselect")
  87. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_SETUP,"units_battleship_alien_setup")
  88. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_RESETUP,"units_battleship_alien_resetup")
  89. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_DAMAGED,"units_battleship_alien_damaged")
  90. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_EXPLODE,"units_battleship_alien_explode")
  91. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_HIGHLIGHT,"units_battleship_alien_highlight")
  92. registerCommand(ENSCRIPTSET_BATTLESHIP_ALIEN,ENC_INSIDE,"units_inside")
  93.  
  94. -- make description of unit
  95. desc = getEffectDescriptionP(ENET_UNIT_BATTLESHIP_ALIEN)
  96. desc.ClassID = ENCLASS_MESHINSTANCE
  97. desc.EffectClassType = ENECT_GEOMETRY
  98. desc.FileName = "battleship_alien.rmd"
  99. desc.ScriptSet = ENSCRIPTSET_BATTLESHIP_ALIEN
  100. desc.MoveType = ENMOVE_SWIM
  101. desc.RenderType = ENRENDERTYPE_GEOMETRY
  102. desc.Material = ENMAT_RIGIDSKINNEDMESH
  103. desc.MaterialColors = units_materialcolors_human
  104.  
  105. -- shadow
  106. desc = getEffectDescriptionP(ENET_EFFECT_GEOMETRY_BATTLESHIPALIENSHADOW)
  107. desc.ClassID = ENCLASS_MESHINSTANCE
  108. desc.EffectClassType = ENECT_GEOMETRY
  109. desc.FileName = "battleship_alien_shadow.rmd"
  110. desc.RenderType = ENRENDERTYPE_SHADOW
  111. desc.Material = ENMAT_SHADOW
  112. desc.MaterialColors = units_materialcolors_shadow
  113.  
  114. -- register new unit to logic
  115. unitDesc = logic_getUnitDescP(22)
  116. unitDesc.group = 1
  117. unitDesc.order = 3
  118. unitDesc.unit_res_id = ENET_UNIT_BATTLESHIP_ALIEN
  119. unitDesc.unit_icon_id = "Battleship_a_small_normal.dds"
  120. unitDesc.active_id = "Battleship_a_small_active.dds"
  121. unitDesc.pressed_id = "Battleship_a_small_pressed.dds"
  122. unitDesc.small_icon_id = "Battleship_l_stats.dds"
  123. unitDesc.big_icon_id = "Battleship_a_big_normal.dds"
  124. unitDesc.HP = 8
  125. unitDesc.MP = 40
  126. unitDesc.WR = 3
  127. unitDesc.min_WR = 1
  128. unitDesc.WD = 3
  129. unitDesc.WR2 = 0
  130. unitDesc.min_WR2 = 0
  131. unitDesc.WD2 = 0
  132. unitDesc.ability = 3
  133. unitDesc.transport = 0
  134. unitDesc.value = 5
  135. unitDesc.race = 1
  136. unitDesc.fire_pause = 2.0
  137. unitDesc.move_pause = 1.0
  138. unitDesc.unit_info_scale = 0.04
  139. unitDesc.scn_name = "BSHIPA"
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.